﻿using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;

namespace ValidationProblemTracking.Models
{
    [Table("ValidationProblemBusinessData")]
    public class ValidationProblemBusinessDataModel
    {
        /// <summary>
        /// 主键
        /// </summary>
        [Key]
        public Guid? SysId { get; set; }
        /// <summary>
        /// 流程编号
        /// </summary>
        public string? ProcessFolio { get; set; }
        /// <summary>
        /// 流程实例号
        /// </summary>
        public string? ProcInstId { get; set; }
        //验证启动单号
        public string? VerifyStartFolio { get; set; }
        //验证启动单实例号
        public string? VerifyStartProcInstId { get; set; }
        //产品线
        public string? ProductLine { get; set; }
        //项目名称
        public string? ProjectName { get; set; }
        //问题点数
        public string? ProblemNumber { get; set; }
        //问题主题
        public string? ProblemSubject { get; set; }
        //问题来源
        public string? ProblemSources { get; set; }
        //产品型号
        public string? ProductModel { get; set; }
        //试制批次
        public string? TrialManufactureBatch { get; set; }
        //是否非标
        public bool? Nonstandard { get; set; }
        //产品编码
        public string? ProductCode { get; set; }
        //产品对内型号
        public string? ProductInternalModel { get; set; }
        //本批产品总数
        public int? ProductBatchSum { get; set; }
        //本批产品已生产数
        public int? ProductBatchNumber { get; set; }
        //不良品数
        public int? ProductBadQuantity { get; set; }
        //产品不良比例
        public string? ProductBadRatio { get; set; }
        //不良现象(问题)描述
        public string? Description { get; set; }
        //是否涉及物料问题
        public bool? MaterialProblem { get; set; }
        //本批物料已使用数
        public int? MaterialUsedQuantity { get; set; }
        //不良物料数
        public int? MaterialBadQuantity { get; set; }
        //物料不良比例
        public string? MaterialBadRatio { get; set; }
        //不良物料编码
        public string? MaterialBadCode { get; set; }
        //不良物料型号/名称
        public string? MaterialBadName { get; set; }
        //不良物料供应商
        public string? MaterialBadProvider { get; set; }
        //不良物料批次号
        public string? MaterialBadBatchNum { get; set; }
        //责任部门初步定位
        public string? ResponsibleDepartment { get; set; }
        //问题初步判定
        public string? ProblemDecide { get; set; }
        //问题严重性定位
        public string? SeverityDecide { get; set; }
        //停线判定
        public string? LineStopDecide { get; set; }
        //是否停止验证
        public bool? StopValidation { get; set; }
        //停线涉及范围
        public string? LineStopRange { get; set; }
        //是否影响发货
        public bool? EffectShipments { get; set; }
        //QE/试制处理意见
        public string? QeRemark { get; set; }
        //问题处理责任人
        public string? PersonInCharge { get; set; }
        //原因分析-Task1
        public string? Task1CauseAnalysis { get; set; }
        //临时对策-Task1
        public string? Task1TemporaryCountermeasures { get; set; }
        //库存是否暂停发货-Task1
        public bool? Task1IsSuspendShipment { get; set; }
        //是否返工-Task1
        public bool? Task1IsRework { get; set; }
        //是否涉及ECO-Task1
        public bool? Task1IsInvolveECO { get; set; }
        //返工涉及范围-Task1
        public string? Task1ScopeOfRework { get; set; }
        //是否对整件(父项)有影响(整件是否要处理)-Task1
        public bool? Task1IsWholePieceImpact { get; set; }
        //解决措施-Task1
        public string? Task1SolutionMeasures { get; set; }
        //版本是否升级-Task1
        public bool? Task1IsUpgrade { get; set; }
        //长期对策实施时间(天)-Task1
        public decimal? Task1ImplementationCountermeasures { get; set; }
        //问题状态-Task1
        public string? Task1ProblemStatus { get; set; }
        //审核人（业务主管）-Task1
        public string? Task1BusinessSupervisorReview { get; set; }
        //责任归属-Task3
        public string? Task3Accountability { get; set; }
        //问题定位-Task3
        public string? Task3ProblemPositioning { get; set; }
        //问题严重性质-Task3
        public string? Task3SeverityProblem { get; set; }
        //是否开发遗漏-Task3
        public bool? Task3IsDevelopmentOmissions { get; set; }
        //是否测试遗漏-Task3
        public bool? Task3IsTestOmission { get; set; }
        //责任归属-Task4
        public string? Task4Accountability { get; set; }
        //问题定位-Task4
        public string? Task4ProblemPositioning { get; set; }
        //问题严重性质-Task4
        public string? Task4SeverityProblem { get; set; }
        //是否安规问题-Task4
        public bool? Task4IsSafetyRegulationsIssues { get; set; }
        //是否开发遗漏-Task4
        public bool? Task4IsDevelopmentOmissions { get; set; }
        //是否测试遗漏-Task4
        public bool? Task4IsTestOmission { get; set; }
        //长期对策确认-Task4
        public string? Task4ConfirmationCountermeasures { get; set; }
        //中试期间跟踪人-Task4
        public string? Task4PilotTrailer { get; set; }
        //量产期间跟踪人-Task4
        public string? Task4MassProductionTracker { get; set; }
        //文档归档确认人-Task4
        public string? Task4DocumentArchivingConfirmation { get; set; }
        //跟踪闭环日期-Task4
        public DateTime? Task4TrackClosedLoopTime { get; set; }
        //文件是否归档-Task5
        public bool? Task5IsFileArchive { get; set; }
        //要求归档日期-Task5
        public DateTime? Task5RequiredFilingTime { get; set; }
        //长期对策是否已实施-Task6
        public bool? Task6IsSecularGameExecute { get; set; }
        //要求日期-Task6
        public DateTime? Task6AskTime { get; set; }
        //验证分类-Task7
        public string? Task7VerifyClassification { get; set; }
        //效果确认日期-Task7
        public DateTime? Task7AskTime { get; set; }
        //是否跟踪-Task8
        public bool? Task8IsTracking { get; set; }
        //跟踪级别-Task8
        public string? Task8TrackingLevel { get; set; }
        public string? CreatedBy { get; set; }
        public DateTime? CreateDate { get; set; }
        public string? LastUpdatedBy { get; set; }
        public DateTime? LastUpdateDate { get; set; }

    }
}
